From 3701de14a11e1b3e7cab4d5d2676c0c80928f278 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 15 Jan 2014 00:33:30 -0500 Subject: [PATCH] Add a setting for dialog headers This setting will let us keep traditional appearance of dialogs on platforms where this is expected. The new setting is called gtk-dialogs-use-header, backed by the Gtk/DialogsUseHeader xsetting. --- gdk/x11/gdksettings.c | 1 + gtk/gtksettings.c | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) diff --git a/gdk/x11/gdksettings.c b/gdk/x11/gdksettings.c index ac92cca833..86ecc2dfec 100644 --- a/gdk/x11/gdksettings.c +++ b/gdk/x11/gdksettings.c @@ -59,6 +59,7 @@ static const struct { {"Gtk/ShellShowsMenubar", "gtk-shell-shows-menubar"}, {"Gtk/ShellShowsDesktop", "gtk-shell-shows-desktop"}, {"Gtk/DecorationLayout", "gtk-decoration-layout"}, + {"Gtk/DialogsUseHeader", "gtk-dialogs-use-header"}, {"Gtk/EnablePrimaryPaste", "gtk-enable-primary-paste"}, {"Gtk/RecentFilesMaxAge", "gtk-recent-files-max-age"}, {"Gtk/RecentFilesEnabled", "gtk-recent-files-enabled"}, diff --git a/gtk/gtksettings.c b/gtk/gtksettings.c index 3c74274286..4bf0e9bd7c 100644 --- a/gtk/gtksettings.c +++ b/gtk/gtksettings.c @@ -215,6 +215,7 @@ enum { PROP_SHELL_SHOWS_MENUBAR, PROP_SHELL_SHOWS_DESKTOP, PROP_DECORATION_LAYOUT, + PROP_DIALOGS_USE_HEADER, PROP_ENABLE_PRIMARY_PASTE, PROP_RECENT_FILES_ENABLED }; @@ -1575,6 +1576,27 @@ gtk_settings_class_init (GtkSettingsClass *class) NULL); g_assert (result == PROP_DECORATION_LAYOUT); + /** + * GtkSettings:gtk-dialogs-use-header: + * + * Whether builtin GTK+ dialogs such as the file chooser, the + * color chooser or the font chooser will use a header bar at + * the top to show action widgets, or an action area at the bottom. + * + * This setting does not affect custom dialogs using GtkDialog + * directly, or message dialogs. + * + * Since: 3.12 + */ + result = settings_install_property_parser (class, + g_param_spec_boolean ("gtk-dialogs-use-header", + P_("Dialogs use header bar"), + P_("Whether builtin GTK+ dialogs should use a header bar instead of an action area."), + FALSE, + GTK_PARAM_READWRITE), + NULL); + g_assert (result == PROP_DIALOGS_USE_HEADER); + /** * GtkSettings:gtk-enable-primary-paste: * -- 2.30.2